#include "kernel/species.hpp"

Species:: Species( const string & _name, const int _z, lua_State *L, const string & _sp ) :
name( _name ),
Z( _z ),
SP(  L, _sp ),
Pf(1),
idx(0)
{
	
}

Species:: ~Species() throw()
{
	
}

Species:: Species( const Species &s ) :
name( s.name ),
Z( s.Z ),
SP( s.SP ),
Pf( s.Pf ),
idx(s.idx)
{
}

const string & Species:: key() const throw() { return name; }

Real Species:: omega( Real zeta, const Real volume ) const
{
	return -( (Pf * SP( zeta ) * Psi( Z * zeta ) / volume) * Exp( zeta * Z ));
}


Real Species:: get_SP_times_Psi(Real zeta) const
{
	return SP( zeta ) * Psi( Z * zeta );
}
